Three-dimensional sound localization method, electronic device and computer readable storage

ABSTRACT

A three-dimensional (3D) sound localization method, comprising: evaluating distances between a target object and multiple microphones; distinguishing a quadrant in which the target object is located; evaluating multiple elevation angles and azimuth angles of the target object according to spatial coordinates of each of the microphones; setting searching intervals of distance variables between the target object and each of the microphones; generating multiple test points according to the elevation angles, the azimuth angles and the searching intervals of the distance variables; calculating fitness of each of the test points; obtaining fitness values of each of the test points and comparing the fitness values between each of the test points; and, when a convergence condition is reached according to the fitness values, generating a positioning result of the target object.

BACKGROUND 1. Technical Field

The disclosure relates to a positioning method, and more particularly to a three-dimensional (3D) sound localization method, electronic device and computer readable storage medium.

2. Description of Related Art

In the development of voice-related technologies, the analysis accuracy and processing efficiency should be improved is a clearer voice input quality. In view of the improvement of the voice quality, locating a sound source is a factor first to be considered.

Many sound source localization methods are well known and provided. However, in real space, sound waves are transmitted non-linearly. To locate sound source coordinates, it is necessary to analyze a nonlinear model and, therefore, a large amount of calculations are required for motion analysis of the nonlinear model, which becomes an obstacle to real-time feedback.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the preset disclosure can be better understood with reference to the following figures. The components in the figures are not necessarily drawn to scale, the emphasis instead being placed upon clearly illustrating the principles of the preset disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views. Implementations of the preset technology will now be described, by way of embodiments, with reference to the attached figures, wherein:

FIG. 1 is a flowchart of an embodiment of a three-dimensional (3D) sound localization method of the preset disclosure;

FIG. 2 is a block diagram of an embodiment of the hardware architecture of an electronic device using the method of the preset disclosure;

FIG. 3 is a schematic diagram of functional blocks of the electronic device using the method according to an embodiment of the preset disclosure;

FIG. 4 is a schematic diagram of an embodiment of an application of the 3D sound localization of the preset disclosure;

FIG. 5 is a schematic diagram of an embodiment of an upper bound and a lower bound adapted for discovering test points of the preset disclosure;

FIG. 6 is a schematic diagram of an embodiment of generating the test points of the preset disclosure;

FIG. 7 illustrates diagrams of an embodiment of simulation results of azimuth angles of a target object at different distances of the preset disclosure;

FIG. 8 illustrates diagrams of an embodiment of simulation results of elevation angles of the target object at different distances of the preset disclosure; and

FIG. 9 is a diagram of an embodiment of simulation results of the target object in a 3D space of the preset disclosure.

DETAILED DESCRIPTION

It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures, and components have not been described in detail so as not to obscure the related relevant feature being described. Also, the description is not to be considered as limiting the scope of the embodiments described herein. The drawings are not necessarily to scale and the proportions of certain parts may be exaggerated to better illustrate details and features of the preset disclosure.

Several definitions that apply throughout this disclosure will now be preset.

The term “comprising,” when utilized, means “including, but not necessarily limited to”; it specifically indicates open-ended inclusion or membership in the so-described combination, group, series, and the like.

The three-dimensional (3D) sound localization method of an embodiment of the present disclosure achieves localization of a target object providing a sound source via multiple sets of miniature stereo microphones, comprising: calculating incidence angles of the target object relative to the center of the microphone sets in a spherical coordinate system in the 3D space, and adopts fast convergence for a single extreme value to search along possible three-dimensional intervals established in the 3D space of estimated angles according to a calculation result for previous angles, thereby achieving the localization result.

FIG. 1 is a flowchart of an embodiment of a three-dimensional (3D) sound localization method of the preset disclosure. The order of the steps in the flowchart can be changed and some steps can be omitted according to different requirements.

In block S1, distances between a target object and at least one set of miniature stereo microphones are evaluated. The set of the miniature stereo microphones comprise at least 3 miniature stereo microphones. In this embodiment, 6 microphones are used and spatial coordinates thereof comprise mic1(R,0,0) , mic2(−R,0,0), mic3(0,R,0), mic4(0,−R,0), mic5(0,0, R) and mic6(0,0,−R).

In block S2, a quadrant in which the target object is located is distinguished, which determines where the target object is.

In block S3, elevation angles (elevation θ) of the target object are evaluated according to the spatial coordinates of the microphones using the formula (1), and the error of each of the elevation angles is between plus and minus 5 degrees (θ_(estimated±0.5°)), as shown in FIG. 4. The formula (1) is represented as:

$\begin{matrix} {{\cos^{- 1}\left( \frac{\cos\left( {{90} - {\cos^{- 1}\left( \sqrt{1 - \left( \frac{D_{{mic}_{m} - {source}} - D_{{mic}_{n} - {source}}}{D_{{mic}_{m} - {mic}_{n}}} \right)^{2}} \right)}} \right)}{\cos\left( \theta_{ele} \right)} \right)},} & (1) \end{matrix}$ wherem > 0andn > 0.

In block S4, azimuth angles (azimuth ∅) of the target object are evaluated according to the spatial coordinates of the microphones using the formula (2), and the error of each of the azimuth angles is between plus and minus 5 degrees (∅_(estimated±0.5°)), as shown in FIG. 4. The formula (2) is represented as:

$\begin{matrix} {\left. {\theta_{ele} = {\cos^{- 1}\left( \sqrt{1 - \left( \frac{D_{{mic}_{m} - {source}} - D_{{mic}_{n} - {source}}}{D_{{mic}_{m} - {mic}_{n}}} \right)^{2}} \right)}} \right),} & (2) \end{matrix}$ wherem > 0andn > 0.

In block S5, searching intervals of distance variables between the target object and each of the microphones are set, for example, r:[1 m 8 m].

In block S6, multiple test points, for example, 8 test points, are generated according to the elevation angles, the azimuth angles and the searching intervals of the distance variables using the formulas (3) and (4), comprising (r₁, θ₁, ∅₁), (r₁, θ₁, ∅₂), (r₁, θ₂, ∅₁), (r₁, θ₂, ∅₂), (r₂, θ₁, ∅₁), (r₂, θ₁, ∅₂), (r₂, θ₂, ∅₁), and (r₂, θ₂, ∅₂), as shown in FIG. 4 and FIG. 6. The formulas (3) and (4) are represented as:

$\begin{matrix} {{L\left( {{\underline{t}}^{k},{\overset{\_}{t}}^{k},t_{1}^{k},t_{2}^{k}} \right)} \equiv \left\{ {\begin{matrix} {{{\underline{t}}^{k + 1} = {\overset{\_}{t}}^{k}},{{\overset{\_}{t}}^{k + 1} = t_{2}^{k}},{t_{2}^{k + 1} = t_{1}^{k}}} \\ {t_{1}^{k + 1} = {{\overset{\_}{t}}^{k + 1} - {0.618\left( {{\overset{\_}{t}}^{k + 1} - {\underline{t}}^{k + 1}} \right)}}} \end{matrix},} \right.} & (3) \end{matrix}$ and $\begin{matrix} {{U\left( {{\underline{t}}^{k},{\overset{\_}{t}}^{k},t_{1}^{k},t_{2}^{k}} \right)} \equiv \left\{ {\begin{matrix} {{{\underline{t}}^{k + 1} = t_{1}^{k}},{{\overset{\_}{t}}^{k + 1} = {\overset{\_}{t}}^{k}},{t_{1}^{k + 1} = t_{2}^{k}}} \\ {t_{2}^{k + 1} = {{\underline{t}}^{k + 1} + {0.618\left( {{\overset{\_}{t}}^{k + 1} - {\underline{t}}^{k + 1}} \right)}}} \end{matrix},} \right.} & (4) \end{matrix}$

wherein t ^(k) and t^(−k) are the upper bound and the lower bound of the searching interval under the k times searching, and t₁ ^(k) and t₂ ^(k) are the test points of the searching interval under the k times searching, as shown in FIG. 5.

In block S7, fitness of each of the test points is calculated using the formula (5). The formula (5) is represented as:

$\begin{matrix} {{error}_{1} = {\frac{\begin{matrix} {\sqrt{\left( {x - x_{1}} \right)^{2} + \left( {y - y_{1}} \right)^{2} + \left( {z - z_{1}} \right)^{2}} -} \\ \sqrt{\left( {x - x_{1}} \right)^{2} + \left( {y - y_{1}} \right)^{2} + \left( {z - z_{1}} \right)^{2}} \end{matrix}}{v_{sound}} - {\tau_{12}.}}} & (5) \end{matrix}$

In block S8, fitness values (fitness value=min(f (x, y))) of each of the test points are obtained using the formula (6) and the fitness values are compared each other. The formula (6) is represented as:

f(x, y)=sum(abs(error))   (6)

In block S9, it is determined whether a convergence condition is reached according to the fitness values of each of the test points, and, if not, the process proceeds to step S6 and steps S6 to S8 are repeated.

In block S10, if the convergence condition is reached, a positioning result of the target object is generated.

FIG. 2 is a block diagram of an embodiment of the hardware architecture of an electronic device using the method of the preset disclosure. The electronic device 200 may, but is not limited to, connect to a processor 210, a memory 220, and a 3D sound localization system 230 via system buses. The electronic device 200 shown in FIG. 2 may include more or fewer components than those illustrated, or may combine certain components.

The memory 220 stores a computer program, such as the 3D sound localization system 230, which is executable by the processor 210. When the processor 210 executes the 3D sound localization system 230, the blocks in one embodiment of the 3D sound localization method applied in the electronic device 200 are implemented, such as blocks Si to S10 shown in FIG. 1.

It will be understood by those skilled in the art that FIG. 2 is merely an example of the electronic device 200 and does not constitute a limitation to the electronic device 200. The electronic device 200 may include more or fewer components than those illustrated, or may combine certain components. The electronic device 200 may also include input and output devices, network access devices, buses, and the like.

The processor 210 may be a central processing unit (CPU), or other general-purpose processors, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a Field-Programmable Gate Array (FPGA), or another programmable logic device, discrete gate or transistor logic device, discrete hardware components, or the like. The processor 210 may be a microprocessor or other processor known in the art.

The memory 220 can be used to store the 3D sound localization system 230 and/or modules/units by running or executing computer programs and/or modules/units stored in the memory 220. The memory 220 may include a storage program area and a storage data area. In addition, the memory 220 may include a high-speed random access memory, a non-volatile memory such as a hard disk, a plug-in hard disk, a smart memory card (SMC), and a secure digital (SD) card, flash card, at least one disk storage device, flash device, or other volatile solid state storage device.

The 3D sound localization system 230 can be partitioned into one or more modules/units that are stored in the memory 220 and executed by the processor 210.

The one or more modules/units may be a series of computer program instructions capable of performing particular functions of the 3D sound localization system 230.

FIG. 3 is a schematic diagram of functional blocks of the electronic device using the method according to an embodiment of the preset disclosure.

The electronic device 200 comprises a distance evaluating module 310, a 3D sound angle evaluating module 320 and a 3D sound localization evaluating module 330.

The distance evaluating module 310 evaluates distances between a target object and at least one set of miniature stereo microphones. The set of the miniature stereo microphones comprise at least 3 miniature stereo microphones. In this embodiment, 6 microphones are used and spatial coordinates thereof comprise mic1(R,0,0), mic2(−R,0,0) , mic3(0,R,0), mic4(0,−R,0) , mic5(0,0,R) and mic6(0,0,−R).

The 3D sound angle evaluating module 320 distinguishes a quadrant in which the target object is located, which determines where the target object is.

The 3D sound angle evaluating module 320 evaluates elevation angles (elevation θ) of the target object according to the spatial coordinates of the microphones using the formula (1), and the error of each of the elevation angles is between plus and minus 5 degrees (θ_(estimated±0.5°)), as shown in FIG. 4. The formula (1) is represented as:

$\begin{matrix} {{\cos^{- 1}\left( \frac{\cos\left( {{90} - {\cos^{- 1}\left( \sqrt{1 - \left( \frac{D_{{mic}_{m} - {source}} - D_{{mic}_{n} - {source}}}{D_{{mic}_{m} - {mic}_{n}}} \right)^{2}} \right)}} \right)}{\cos\left( \theta_{ele} \right)} \right)},} & (1) \end{matrix}$ wherem > 0andn > 0.

The 3D sound angle evaluating module 320 evaluates azimuth angles (azimuth θ) of the target object according to the spatial coordinates of the microphones using the formula (2), and the error of each of the azimuth angles is between plus and minus 5 degrees (∅_(estimated ±0.5°)), as shown in FIG. 4. The formula (2) is represented as:

$\begin{matrix} {\left. {\theta_{ele} = {\cos^{- 1}\left( \sqrt{1 - \left( \frac{D_{{mic}_{m} - {source}} - D_{{mic}_{n} - {source}}}{D_{{mic}_{m} - {mic}_{n}}} \right)^{2}} \right)}} \right),} & (2) \end{matrix}$ wherem > 0andn > 0.

The 3D sound localization evaluating module 330 sets searching intervals of distance variables between the target object and each of the microphones, for example, r:[1 m 8 m].

The 3D sound localization evaluating module 330 generates 8 test points according to the elevation angles, the azimuth angles and the searching intervals of the distance variables using the formulas (3) and (4). The test points comprises (r₁, θ₁, ∅₁), (r₁, θ₁, ∅₂), (r₁, θ₂, ∅₁), (r₁, θ₂, ∅₂), (r₂, θ₁, ∅₁), (r₂, θ₁, ∅₂), (r₂, θ₂, ∅₁), and (r₂, θ₂, ∅₂) as shown in FIG. 4 and FIG. 6. The formulas (3) and (4) are represented as:

$\begin{matrix} {{L\left( {{\underline{t}}^{k},{\overset{\_}{t}}^{k},t_{1}^{k},t_{2}^{k}} \right)} \equiv \left( {\begin{matrix} {{{\underline{t}}^{k + 1} = {\underline{t}}^{k}},{{\overset{\_}{t}}^{k + 1} = t_{2}^{k}},{t_{2}^{k + 1} = t_{1}^{k}}} \\ {{\underline{t}}_{1}^{k + 1} = {{\overset{\_}{t}}^{k + 1} - {0.618\left( {{\overset{\_}{t}}^{k + 1} - {\overset{\_}{t}}^{k + 1}} \right)}}} \end{matrix},} \right.} & (3) \end{matrix}$ and $\begin{matrix} {{U\left( {{\underline{t}}^{k},{\overset{\_}{t}}^{k},t_{1}^{k},t_{2}^{k}} \right)} \equiv \left( {\begin{matrix} {{{\underline{t}}^{k + 1} = {\underline{t}}_{1}^{k}},{{\overset{\_}{t}}^{k + 1} = {\overset{\_}{t}}^{k}},{t_{1}^{k + 1} = t_{2}^{k}}} \\ {{\underline{t}}_{2}^{k + 1} = {{\underline{t}}^{k + 1} + {0.618\left( {{\overset{\_}{t}}^{k + 1} - {\underline{t}}^{k + 1}} \right)}}} \end{matrix},} \right.} & (4) \end{matrix}$

wherein t ^(k) and t^(−k) are the upper bound and the lower bound of the searching interval under the k times searching, and t₁ ^(k) and t₂ ^(k) are the test points of the searching interval under the k times searching, as shown in FIG. 5.

The 3D sound localization evaluating module 330 calculates fitness of each of the test points using the formula (5). The formula (5) is represented as:

$\begin{matrix} {{error}_{1} = {\frac{\begin{matrix} {\sqrt{\left( {x - x_{1}} \right)^{2} + \left( {y - y_{1}} \right)^{2} + \left( {z - z_{1}} \right)^{2}} -} \\ \sqrt{\left( {x - x_{2}} \right)^{2} + \left( {y - y_{2}} \right)^{2} + \left( {z - z_{2}} \right)^{2}} \end{matrix}}{v_{sound}} - {\tau_{12}.}}} & (5) \end{matrix}$

The 3D sound localization evaluating module 330 obtains fitness values (fitness value=min(f (x, y))) of each of the test points using the formula (6) and the fitness values are compared each other. The formula (6) is represented as:

f(x, y)=sum(abs(error))   (6)

The 3D sound localization evaluating module 330 determines whether a convergence condition is reached according to the fitness values of each of the test points, and, if the convergence condition is reached, generates a positioning result of the target object.

The present invention uses MATLAB to simulate the positioning result of the target object, the maximum angle error is all within 0.8 degrees, and 98% of the positioning errors are all below 10%.

FIG. 7 is a schematic diagram of an embodiment of a simulation result of azimuth angles of a target object under different distances of the preset disclosure. FIG. 8 is a schematic diagram of an embodiment of a simulation result of elevation angles of the target object under different distances of the preset disclosure. FIG. 9 is a schematic diagram of an embodiment of a simulation result of the target object in a 3D space of the preset disclosure, in which, at a fixed distance of 6 meters, positioning is performed for elevation angles of 0-90 degrees and horizontal angles of 0-180 degrees.

In order to verify the convergence speed and positioning accuracy of the 3D sound localization method of the present invention, a Particle Swarm Optimization (PSO) algorithm is applied to simulate the sound localization. The number of iterations is set to 10, PSO is 30 times, and the number of test points for each update is 7. Since the number of the test points is only 7, the PSO algorithm has not yet completed convergence after 30 iterations, and its positioning results are still constantly changing each time and it is easy to converge on the wrong coordinate point. By contrast, the 3D sound localization method of the present invention only needs 10 iterations to complete the convergence, and the accuracy rate is higher. The simulation results are shown in Table 1.

TABLE 1 Distance Error Elevation Angle Error Azimuth Angle Error (Meter) (Degree) (Degree) The The The Coordinate PSO Invention PSO Invention PSO Invention (6, 3, 2) 1.126 6.96e−3 −0.029 0.0025 −0.154 0.0003 (5, 3, 2) 0.911 5.49e−3 0.05 0.0003 −0.043 0.0016 (4, 3, 2) 1.655 0.0306 0.046 0.0005 −0.055 0.0023 (3, 3, 2) 1.31 0.0237 −0.109 0.0012 −0.151 0.0004 (2, 3, 2) 1.763 4.36e−3 0.061 −0.0004 −0.058 0.0004 (2, 2, 3) 1.74 0.0263 −0.327 −0.0022 0.296 −0.0043 (2, 3, 3) 1.744 0.0113 −0.196 −0.0021 −0.134 −0.0003 (2, 4, 3) 1.403 4.61e−3 −0.098 0.0004 0.073 −0.0003 (2, 5, 3) 1.337 5.51e−3 −0.314 −0.0024 −0.065 −0.0016 (2, 6, 3) 1.394 7.02e−3 0.104 0.0018 −0.149 0.0006 Average 1.438 0.0126 −0.0812 −0.00004 −0.044 −0.00009

It is to be understood, however, that even though numerous characteristics and advantages of the preset disclosure have been set forth in the foregoing description, together with details of the structure and function of the preset disclosure, the disclosure is illustrative only, and changes may be made in detail, especially in matters of shape, size, and arrangement of parts within the principles of the preset disclosure to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed. 

What is claimed is:
 1. A three-dimensional (3D) sound localization method executable by an electronic device, comprising: evaluating distances between a target object and at least one set of miniature stereo microphones, where the set of the miniature stereo microphones comprise at least 3 miniature stereo microphones; distinguishing a quadrant in which the target object is located; evaluating multiple elevation angles of the target object according to spatial coordinates of each of the microphones; evaluating multiple azimuth angles of the target object according to the spatial coordinates of each of the microphones; setting searching intervals of distance variables between the target object and each of the microphones; generating multiple test points according to the elevation angles, the azimuth angles and the searching intervals of the distance variables; calculating fitness of each of the test points; obtaining fitness values of each of the test points and comparing the fitness values between each of the test points; determining whether a convergence condition is reached according to the fitness values of each of the test points; and if the convergence condition is reached, generating a positioning result of the target object.
 2. The method of claim 1, further comprising: evaluating the elevation angles of the target object according to the spatial coordinates of the microphones using the formula (1), and the error of each of the elevation angles is between plus and minus 5 degrees, wherein the formula (1) is represented as: $\begin{matrix} {{\cos^{- 1}\left( \frac{\cos\left( {{90} - {\cos^{- 1}\left( \sqrt{1 - \left( \frac{D_{{mic}_{m} - {source}} - D_{{mic}_{n} - {source}}}{D_{{mic}_{m} - {mic}_{n}}} \right)^{2}} \right)}} \right)}{\cos\left( \theta_{ele} \right)} \right)},} & (1) \end{matrix}$ wherem > 0andn >
 0. 3. The method of claim 2, further comprising: evaluating the azimuth angles of the target object according to the spatial coordinates of the microphones using the formula (2), and the error of each of the azimuth angles is between plus and minus 5 degrees, wherein the formula (2) is represented as: $\begin{matrix} {{\theta_{ele} = {\cos^{- 1}\left( \sqrt{1 - \left( \frac{D_{{mic}_{m} - {source}} - D_{{mic}_{n} - {source}}}{D_{{mic}_{m} - {mic}_{n}}} \right)^{2}} \right)}},} & (2) \end{matrix}$ whereinm > 0andn >
 0. 4. The method of claim 1, further comprising: generating 8 test points according to the elevation angles, the azimuth angles and the searching intervals of the distance variables using the formulas (3) and (4), wherein the formulas (3) and (4) are represented as: $\begin{matrix} {{L\left( {{\underline{t}}^{k},{\overset{\_}{t}}^{k},t_{1}^{k},t_{2}^{k}} \right)} \equiv \left( {\begin{matrix} {{{\underline{t}}^{k + 1} = {\underline{t}}^{k}},{{\overset{\_}{t}}^{k + 1} = t_{2}^{k}},{t_{2}^{k + 1} = t_{1}^{k}}} \\ {{\underline{t}}_{1}^{k + 1} = {{\overset{\_}{t}}^{k + 1} - {0.618\left( {{\overset{\_}{t}}^{k + 1} - {\overset{\_}{t}}^{k + 1}} \right)}}} \end{matrix};} \right.} & (3) \end{matrix}$ and $\begin{matrix} {{U\left( {{\underline{t}}^{k},{\overset{\_}{t}}^{k},t_{1}^{k},t_{2}^{k}} \right)} \equiv \left( {\begin{matrix} {{{\underline{t}}^{k + 1} = {\underline{t}}_{1}^{k}},{{\overset{\_}{t}}^{k + 1} = {\overset{\_}{t}}^{k}},{t_{1}^{k + 1} = t_{2}^{k}}} \\ {{\underline{t}}_{2}^{k + 1} = {{\underline{t}}^{k + 1} + {0.618\left( {{\overset{\_}{t}}^{k + 1} - {\underline{t}}^{k + 1}} \right)}}} \end{matrix},} \right.} & (4) \end{matrix}$ wherein t ^(k) and t^(−k) are the upper bound and the lower bound of the searching interval under the k times searching, and t₁ ^(k) and t₂ ^(k) are the test points of the searching interval under the k times searching.
 5. The method of claim 1, further comprising: calculating the fitness of each of the test points using the formula (5), wherein the formula (5) is represented as: $\begin{matrix} {{error}_{1} = {\frac{\begin{matrix} {\sqrt{\left( {x - x_{1}} \right)^{2} + \left( {y - y_{1}} \right)^{2} + \left( {z - z_{1}} \right)^{2}} -} \\ \sqrt{\left( {x - x_{2}} \right)^{2} + \left( {y - y_{2}} \right)^{2} + \left( {z - z_{2}} \right)^{2}} \end{matrix}}{v_{sound}} - {\tau_{12}.}}} & (5) \end{matrix}$
 6. The method of claim 1, further comprising: obtaining the fitness values of each of the test points using the formula (6), wherein the formula (6) is represented as: f(x, y)=sum(abs(error))   (6).
 7. An electronic device, comprising: a distance evaluating module, configured to evaluate distances between a target object and at least one set of miniature stereo microphones, where the set of the miniature stereo microphones comprise at least 3 miniature stereo microphones; a three-dimensional (3D) sound angle evaluating module, configured to distinguish a quadrant in which the target object is located, evaluate multiple elevation angles of the target object according to spatial coordinates of each of the microphones, and evaluate multiple azimuth angles of the target object according to the spatial coordinates of each of the microphones; and a 3D sound localization evaluating module, configured to set searching intervals of distance variables between the target object and each of the microphones, generate multiple test points according to the elevation angles, the azimuth angles and the searching intervals of the distance variables, calculate fitness of each of the test points, obtain fitness values of each of the test points and comparing the fitness values between each of the test points, determine whether a convergence condition is reached according to the fitness values of each of the test points, and, if the convergence condition is reached, generate a positioning result of the target object.
 8. The electronic device of claim 7, wherein the 3D sound angle evaluating module is further configured to evaluate the elevation angles of the target object according to the spatial coordinates of the microphones using the formula (1), and the error of each of the elevation angles is between plus and minus 5 degrees, wherein the formula (1) is represented as: $\begin{matrix} {{\cos^{- 1}\left( \frac{\cos\left( {{90} - {\cos^{- 1}\left( \sqrt{1 - \left( \frac{D_{{mic}_{m} - {source}} - D_{{mic}_{n} - {source}}}{D_{{mic}_{m} - {mic}_{n}}} \right)^{2}} \right)}} \right)}{\cos\left( \theta_{ele} \right)} \right)},} & (1) \end{matrix}$ whereinm > 0andn >
 0. 9. The electronic device of claim 8, wherein the 3D sound angle evaluating module is further configured to evaluate the azimuth angles of the target object according to the spatial coordinates of the microphones using the formula (2), and the error of each of the azimuth angles is between plus and minus 5 degrees, wherein the formula (2) is represented as: $\begin{matrix} {{\theta_{ele} = {\cos^{- 1}\left( \sqrt{1 - \left( \frac{D_{{mic}_{m} - {source}} - D_{{mic}_{n} - {source}}}{D_{{mic}_{m} - {mic}_{n}}} \right)^{2}} \right)}},} & (2) \end{matrix}$ whereinm > 0andn >
 0. 10. The electronic device of claim 7, wherein the 3D sound localization evaluating module is further configured to generate 8 test points according to the elevation angles, the azimuth angles and the searching intervals of the distance variables using the formulas (3) and (4), wherein the formulas (3) and (4) are represented as: $\begin{matrix} {{L\left( {{\underline{t}}^{k},{\overset{\_}{t}}^{k},t_{1}^{k},t_{2}^{k}} \right)} \equiv \left( {\begin{matrix} {{{\underline{t}}^{k + 1} = {\underline{t}}^{k}},{{\overset{\_}{t}}^{k + 1} = t_{2}^{k}},{t_{2}^{k + 1} = t_{1}^{k}}} \\ {{\underline{t}}_{1}^{k + 1} = {{\overset{\_}{t}}^{k + 1} - {0.618\left( {{\overset{\_}{t}}^{k + 1} - {\overset{\_}{t}}^{k + 1}} \right)}}} \end{matrix};} \right.} & (3) \end{matrix}$ and $\begin{matrix} {{U\left( {{\underline{t}}^{k},{\overset{\_}{t}}^{k},t_{1}^{k},t_{2}^{k}} \right)} \equiv \left( {\begin{matrix} {{{\underline{t}}^{k + 1} = {\underline{t}}_{1}^{k}},{{\overset{\_}{t}}^{k + 1} = {\overset{\_}{t}}^{k}},{t_{1}^{k + 1} = t_{2}^{k}}} \\ {{\underline{t}}_{2}^{k + 1} = {{\underline{t}}^{k + 1} + {0.618\left( {{\overset{\_}{t}}^{k + 1} - {\underline{t}}^{k + 1}} \right)}}} \end{matrix},} \right.} & (4) \end{matrix}$ wherein t ^(k) and t^(−k) are the upper bound and the lower bound of the searching interval under the k times searching, and t₁ ^(k) and t₂ ^(k) are the test points of the searching interval under the k times searching.
 11. The electronic device of claim 7, wherein the 3D sound localization evaluating module is further configured to calculate the fitness of each of the test points using the formula (5), wherein the formula (5) is represented as: $\begin{matrix} {{error}_{1} = {\frac{\begin{matrix} {\sqrt{\left( {x - x_{1}} \right)^{2} + \left( {y - y_{1}} \right)^{2} + \left( {z - z_{1}} \right)^{2}} -} \\ \sqrt{\left( {x - x_{2}} \right)^{2} + \left( {y - y_{2}} \right)^{2} + \left( {z - z_{2}} \right)^{2}} \end{matrix}}{v_{sound}} - {\tau_{12}.}}} & (5) \end{matrix}$
 12. The electronic device of claim 7, wherein the 3D sound localization evaluating module is further configured to obtain the fitness values of each of the test points using the formula (6), wherein the formula (6) is represented as: f(x, y)=sum(abs(error))   (6).
 13. A computer program product for execution on a system operatively connected with a block chain distributed network, the computer program product for using the block chain distributed network for mapping aliases, the computer program product comprising at least one non-transitory computer-readable medium having computer-readable program code portions embodied therein, the computer-readable program code portions comprising: an executable portion configured to evaluate distances between a target object and at least one set of miniature stereo microphones, where the set of the miniature stereo microphones comprise at least 3 miniature stereo microphones; an executable portion configured to distinguish a quadrant in which the target object is located; an executable portion configured to evaluate multiple elevation angles of the target object according to spatial coordinates of each of the microphones; an executable portion configured to evaluate multiple azimuth angles of the target object according to the spatial coordinates of each of the microphones; an executable portion configured to set searching intervals of distance variables between the target object and each of the microphones; an executable portion configured to generate multiple test points according to the elevation angles, the azimuth angles and the searching intervals of the distance variables; an executable portion configured to calculate fitness of each of the test points; an executable portion configured to obtain fitness values of each of the test points and comparing the fitness values between each of the test points; an executable portion configured to determine whether a convergence condition is reached according to the fitness values of each of the test points; and an executable portion configured to, if the convergence condition is reached, generate a positioning result of the target object.
 14. The computer program product of claim 13, further comprising: an executable portion configured to evaluate the elevation angles of the target object according to the spatial coordinates of the microphones using the formula (1), and the error of each of the elevation angles is between plus and minus 5 degrees, wherein the formula (1) is represented as: $\begin{matrix} {{\cos^{- 1}\left( \frac{\cos\left( {{90} - {\cos^{- 1}\left( \sqrt{1 - \left( \frac{D_{{mic}_{m} - {source}} - D_{{mic}_{n} - {source}}}{D_{{mic}_{m} - {mic}_{n}}} \right)^{2}} \right)}} \right)}{\cos\left( \theta_{ele} \right)} \right)},} & (1) \end{matrix}$ whereinm > 0andn >
 0. 15. The computer program product of claim 14, further comprising: an executable portion configured to evaluate the azimuth angles of the target object according to the spatial coordinates of the microphones using the formula (2), and the error of each of the azimuth angles is between plus and minus 5 degrees, wherein the formula (2) is represented as: $\begin{matrix} {{\theta_{ele} = {\cos^{- 1}\left( \sqrt{1 - \left( \frac{D_{{mic}_{m} - {source}} - D_{{mic}_{n} - {source}}}{D_{{mic}_{m} - {mic}_{n}}} \right)^{2}} \right)}},} & (2) \end{matrix}$ whereinm > 0andn >
 0. 16. The computer program product of claim 13, further comprising: an executable portion configured to generate 8 test points according to the elevation angles, the azimuth angles and the searching intervals of the distance variables using the formulas (3) and (4), wherein the formulas (3) and (4) are represented as: $\begin{matrix} {{L\left( {{\underline{t}}^{k},{\overset{\_}{t}}^{k},t_{1}^{k},t_{2}^{k}} \right)} \equiv \left( {\begin{matrix} {{{\underline{t}}^{k + 1} = {\underline{t}}^{k}},{{\overset{\_}{t}}^{k + 1} = t_{2}^{k}},{t_{2}^{k + 1} = t_{1}^{k}}} \\ {{\underline{t}}_{1}^{k + 1} = {{\overset{\_}{t}}^{k + 1} - {0.618\left( {{\overset{\_}{t}}^{k + 1} - {\overset{\_}{t}}^{k + 1}} \right)}}} \end{matrix};} \right.} & (3) \end{matrix}$ and $\begin{matrix} {{U\left( {{\underline{t}}^{k},{\overset{\_}{t}}^{k},t_{1}^{k},t_{2}^{k}} \right)} \equiv \left( {\begin{matrix} {{{\underline{t}}^{k + 1} = {\underline{t}}_{1}^{k}},{{\overset{\_}{t}}^{k + 1} = {\overset{\_}{t}}^{k}},{t_{1}^{k + 1} = t_{2}^{k}}} \\ {{\underline{t}}_{2}^{k + 1} = {{\underline{t}}^{k + 1} + {0.618\left( {{\overset{\_}{t}}^{k + 1} - {\underline{t}}^{k + 1}} \right)}}} \end{matrix},} \right.} & (4) \end{matrix}$ wherein t ^(k) and t^(−k) are the upper bound and the lower bound of the searching interval under the k times searching, and t₁ and t₂ ^(k) are the test points of the searching interval under the k times searching.
 17. The computer program product of claim 13, further comprising: an executable portion configured to calculate the fitness of each of the test points using the formula (5), wherein the formula (5) is represented as: $\begin{matrix} {{error}_{1} = {\frac{\begin{matrix} {\sqrt{\left( {x - x_{1}} \right)^{2} + \left( {y - y_{1}} \right)^{2} + \left( {z - z_{1}} \right)^{2}} -} \\ \sqrt{\left( {x - x_{2}} \right)^{2} + \left( {y - y_{2}} \right)^{2} + \left( {z - z_{2}} \right)^{2}} \end{matrix}}{v_{sound}} - {\tau_{12}.}}} & (5) \end{matrix}$
 18. The computer program product of claim 13, further comprising: an executable portion configured to obtain the fitness values of each of the test points using the formula (6), wherein the formula (6) is represented as: f(x, y)=sum(abs(error))   (6). 